Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a legacy version of diabatic_driver + updates in KPP and tidal mixing #777

Closed
wants to merge 67 commits into from

Conversation

gustavo-marques
Copy link
Collaborator

A new input parameter has been added (USE_LEGACY_DIABATIC_DRIVER). If true, the model will
use a legacy version of the diabatic driver (module MOM_legacy_diabatic_driver). This is
temporary and is needed to avoid change in answers while MOM_diabatic_driver is been
restructured.

In addition, this PR also adds the following capabilities:

KPP BLD smoothing:

  • The i,j loop to compute (1) KPP Boundary layer depth and (2) diffusivities is divided into two loops such that BLD is computed over the entire grid before diffusivities get computed. This is because BLD of neighboring cells is necessary to apply smoothing. The new loop containing KPP BLD computation is placed in a new subroutine called KPP_compute_BLD.
  • A new logical called smoothBLD now controls whether a Laplacian Filter is to be applied on BLD after BLD is computed by KPL and before diffusivities are computed.
  • A new subroutine, KPP_smooth_BLD, is added that implements a 1-1-4-1-1 Laplacian filter one time on BLD to reduce any horizontal two-grid-point noise.

Schmittner tidal mixing

  • In tidal mixing module, the capability of reading 3d tidal energy dissipation data (in ER03 format) is added as an option.
  • CVMix Schmittner tidal mixing scheme is added as an option and all the necessary CVMix subroutine calls are added.
  • Diagnostics are added for Schmittner tidal mixing.

This PR does not change answers (only Intel was tested) recorded for dev-master-candidate-2018-05-15.

gustavo-marques and others added 30 commits April 10, 2018 12:54
* I believe there is something wrong (halo updates?) with the way
this is being done. It needs to be fixed!
The background vertical diff was being added to itself, which is
wrong and was leading to a increase in kd_bkgnd over time. This
commit fixes this problem.
Total vertical viscosity can now be diagnosed at u and v points.
Variable names are now consistent with what is used in
other modules.
alperaltuntas and others added 21 commits May 15, 2018 14:09
* Delete the old double-diffusion code
This commit adds a flag ADD_KV_SLOW (default is FALSE) that controls if
the background vertical viscosity in the interior (i.e., tidal + background
+ shear + convenction) is addded when computing the coupling coefficient.
The purpose of this flag is to be able to recover previous answers and it will
likely be removed in the future since this option should always be true.
A new input parameter has been added (USE_LEGACY_DIABATIC_DRIVER). If true, the model will
use a legacy version of the diabatic driver (module MOM_legacy_diabatic_driver). This is
temporary and is needed to avoid change in answers while MOM_diabatic_driver is been
restructured.
@adcroft
Copy link
Collaborator

adcroft commented May 22, 2018

@awallcraft, @kshedstrom, This is another PR from NCAR following the discussion during Monday's developer call.

I'm evaluating this at GFDL in https://gitlab.gfdl.noaa.gov/ogrp/MOM6/pipelines/4286

@adcroft
Copy link
Collaborator

adcroft commented May 23, 2018

@gustavo-marques Can you make a branch for the PR so we don't have a moving target? The GFDL tests all passed but you just went and changed the PR so we're back to scratch.

image

@gustavo-marques
Copy link
Collaborator Author

Yes, I will do that. Sorry, forgot that sending PR's using dev/ncar is susceptible to this moving target issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants